﻿namespace Black.SurfaceToolkit.Tools
{
    /// <summary>
    /// Permet d'optimiser l'utilisation du type <see cref="T:System.Boolean" /> pour WPF.
    /// </summary>
    public static class BooleanBoxes
    {
        #region Variables de classe

        /// <summary>
        /// Box de <see langword="false" />.
        /// </summary>
        public static readonly object FalseBox = false;

        /// <summary>
        /// Box de <see langword="true" />.
        /// </summary>
        public static readonly object TrueBox = true;

        #endregion

        #region Fonctions publiques

        /// <summary>
        /// Box la valeur spécifiée.
        /// </summary>
        /// <param name="p_bValue">Valeur à boxer.</param>
        /// <returns><paramref name="p_bValue" /> boxée.</returns>
        public static object Box(bool p_bValue)
        {
            return (p_bValue ? BooleanBoxes.TrueBox : BooleanBoxes.FalseBox);
        }

        #endregion
    }
}
